package fi.pakkanen.yarpg.item;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

import fi.pakkanen.yarpg.item.trait.Passive;

/**
 * A passive item, that can be neither equipped nor triggered.
 * 
 * @author Oliver Michels <oliver.michels@gmx.net>
 * 
 */
public class PassiveItem extends AbstractItem implements Passive {

	/** The valid states for this item */
	private static Set<ItemState> validStates = new HashSet<ItemState>(Arrays.asList(ItemState.PASSIVE));

	/**
	 * Create a passive item.
	 */
	public PassiveItem() {
		super(ItemState.PASSIVE);
	}

	@Override
	public boolean invoke() {
		// Nothing to invoke and apply here, so always return false
		return false;
	}

	@Override
	public boolean revert() {
		// Nothing to revert here, so always return false
		return false;
	}

	@Override
	protected Set<ItemState> getValidStates() {
		return validStates;
	}

}
